Vehicle collision avoidance

ABSTRACT

A monitoring area may be defined for a monitoring device attached to a first object, wherein the monitoring area moves with the monitoring device. The monitoring device may detect a second object in the monitoring area. A collision awareness factor may be determined in relation to the monitoring area, and a warning zone may be defined in relation to the monitoring area based on the collision awareness factor. A warning may be generated based on detecting the second object within the warning zone and based on the collision awareness factor.

FIELD OF THE INVENTION

The present disclosure generally relates to object detection, and moreparticularly to automated collision avoidance systems for vehicles.

BACKGROUND

Moving vehicles such as bicycles are in danger of collision with variousobstacles along their direction of movement. Some existing collisionavoidance solutions monitor an area around a vehicle and generate awarning based on detecting an object that poses a risk of collision withthe vehicle. These solutions are limited because they do not providedynamic adjustment of the area they monitor and do not account fordynamically changing factors that affect the risk of collision.

BRIEF SUMMARY

Embodiments of the present disclosure provide a method, system, andcomputer program product for generating a collision warning. Amonitoring area may be defined for a monitoring device attached to afirst object, wherein the monitoring area moves with the monitoringdevice. The monitoring device may detect a second object in themonitoring area. A collision awareness factor may be determined inrelation to the monitoring area. A warning zone may be defined inrelation to the monitoring area, based on the collision awarenessfactor. A determination is made as to whether the second object iswithin the warning zone. A warning is generated upon detecting that thesecond object is within the warning zone and based on the collisionawareness factor.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1A is a schematic diagram of a collision detection environmentincluding a vehicle travelling along a path where an operator is lookingin a direction of movement of the vehicle, according to an aspect of thepresent disclosure.

FIG. 1B is a schematic block diagram of the collision detectionenvironment depicted in FIG. 1A wherein the operator of the vehicle islooking in a direction different from the direction of movement of thevehicle, according to an aspect of the present disclosure.

FIG. 2 is a schematic diagram showing details of a warning system of thecollision detection environment depicted in FIGS. 1A-B, according to anaspect of the present disclosure.

FIG. 3 is a flowchart of steps of a computer program of the warningsystem shown in FIG. 1, according to an aspect of the presentdisclosure.

FIG. 4 is a schematic block diagram of a computer system, according toan aspect of the present disclosure.

FIG. 5 is a schematic block diagram of an illustrative cloud computingenvironment, according to an aspect of the present disclosure.

FIG. 6 is a multi-layered functional illustration of the cloud computingenvironment depicted in FIG. 5, according to an aspect of the presentdisclosure.

DETAILED DESCRIPTION

FIG. 1A is a schematic diagram of a collision detection environment 100including a vehicle 108 travelling along a path 104 along a direction ofmovement 128, towards objects 124. The vehicle 108 may be, for example abicycle, operated by a bicyclist. The path 104 may be, for example, aroad. The vehicle 108 may include a warning system 116 that monitors amonitoring area 132 in the direction of movement 128 of the vehicle 108.The monitoring area 132 may include a warning zone 120, wherebydetection of the objects 124 in the warning zone 120 may triggergeneration of a warning signal. The vehicle 108 may also include anorientation device 112 that detects a focus direction 130. The focusdirection 130 may correspond to the orientation of an object, and may beused to determine a collision awareness factor, according to embodimentsof the present disclosure.

The warning system 116 may generate a warning signal in response todetecting an object 124 in the warning zone 120 of the monitoring area132. The signal may include, for example, an electrical signal, anaudible tone or message, and/or a visual signal. The warning system 116may transmit the electrical warning signal to other components of thevehicle 108 or to a receiving device that is in communication withwarning system 116, such as a digital display or an audio component. Thetransmitted warning signal may serve to initiate an automated responseby a receiving device and/or to alert an operator (not shown) of thevehicle 108 of a need for taking a responsive action. The receivingdevice may be, for example, an automatic braking device. The responsiveaction may be, for example, maneuvering around the object 124.

The collision detection environment 100 may include an orientationdevice 112 coupled to the warning system 116. The orientation device 112may be oriented in a focus direction 130 that is independent of thedirection of movement 128 of the vehicle 108, and indicates that anothercomponent of the vehicle 108 to which the orientation device 112 isoperatively connected is focused/oriented in the focus direction 130.The orientation device 112 may be, for example, a gyroscope, which maybe coupled with an accelerometer. In one embodiment, the orientationdevice 112 may be attached to a helmet wearable by a bicyclist, suchthat when worn, the focus direction 130 of the orientation device 112detects the orientation of the helmet, and may indicate the bicyclist'slikely line of sight.

The collision detection environment 100 may further include one or moreobjects 124, for example, object 124A and object 124B. An object 124 maybe any physical object that can be detected by the warning system 116within the monitoring area 132. An object 124 may be, for example, awall, a bump or a pothole in a road, debris, a vehicle, a pedestrian, ananimal, or any other object that warning system 116 is capable ofdetecting within its monitoring area 132.

The warning system 116 may detect an object 124 within the monitoringarea 132 based on a monitoring configuration that may depend, in part,on factors such as the type of vehicle 108 on which the warning system116 is used, and the type of objects 124 it is likely to encounter andwhich may present a risk of collision with the vehicle 108. For example,an object 124 with the dimensions 2×2 feet may be considered large andnecessary to detect with respect to a bicycle, but not with respect to alarger vehicle, because the object 124 may not pose a damage risk to thelarger vehicle. In this example, settings of the warning system 116 maybe adjusted so as to detect objects 124 having a size or otherproperties within a desired range.

The warning zone 120 may be defined such that it is within themonitoring area 132, and encompasses at least a portion of themonitoring area 132. An object, for example, the object 124A, maypresent a relatively high risk of collision with the vehicle 108 if someor all of the object is within warning zone 120. The shape and size ofthe warning zone 120 may be determined based on many factors, includingstatic and dynamic factors. Static factors upon which the shape and sizeof the warning zone 120 may be based include, without limitation:

-   -   The type of the vehicle 108. For example, the warning zone 120        may be defined more narrowly for a train than for a car because        the path 104 for the train may be a set of train tracks, whereas        a path 104 for the car may be a four-lane highway. In this        example, it may be the case that objects 124 that present a        relatively high risk of collision with the vehicle 108 are        likely to appear in a wider area for a car compared to a train.        This may be because a car may travel on a multi-lane road and        regularly be surrounded by other cars in neighboring lanes,        whereas this may not be the case for a train.    -   Maneuverability of the vehicle 108. For example, the warning        zone 120 of a train may be defined to span a greater distance        ahead of the train compared to the warning zone 120 ahead of a        car, because it may be the case that the train cannot maneuver        as well as a car, and may require longer distances to come to a        stop if faced with an object 124 having a relatively high risk        of collision, whereas a car may simply swerve or change lanes to        avoid an object in its path 104.    -   The type of objects 124 expected to be encountered by the        vehicle 108. This may require, in one example, that the warning        zone 120 be defined more widely for certain vehicles 108 and/or        collision detection environments 100. In the case of a bicycle        travelling on a paved road, for example, the objects 124 may        include cars, pedestrians, or debris, whereas the objects 124        for a bicycle travelling on an unpaved bicycle trail may include        animals, rocks, and vegetation (it is not necessary that the        warning system 116 be capable of identifying these objects as        such). It may be the case that the objects 124 that a bicycle is        likely to encounter may appear from the sides of the path 104.        Therefore, it may be desirable to define the warning zone 120        more widely for a bicycle than for a car.

Dynamic factors upon which the shape and size of the warning zone 120may be defined are listed below. These dynamic factors may be measuredor determined by components of the warning system 116, which aredescribed in greater detail below, in relation to FIG. 2. The dynamicfactors, individually or collectively, may be used by the warning system116 to determine a collision awareness factor. The collision awarenessfactor is a measure that may be used by the warning system 116 as anindication of the awareness of an operator of the vehicle 108 in thecollision detection environment 100, and may be used to adjust theshape, size, and other properties of the warning zone 120, in accordancewith embodiments of the present disclosure. The dynamic factors mayinclude, without limitation:

-   -   The direction of movement 128 of the vehicle 108 along the path        104. The collision awareness factor may be lowered by the        warning system 116 based on a change in the direction of        movement 128, where the change is higher than a threshold value.        The direction of movement 128 may be determined by a direction        sensor component of the warning system 116. A change in        direction higher than a threshold value may indicate that the        operator of the vehicle 108 is less aware of the objects 124 in        the changed direction.    -   The velocity of the vehicle 108. For example, if the vehicle's        108 velocity is higher than a threshold value, the collision        awareness factor may be decreased. Similarly, the collision        awareness factor may be decreased upon the warning system 108        detecting an acceleration higher than a threshold value. In each        instance, this may be desired where increased speed and/or        increased acceleration above corresponding threshold values may        be indicative of a lowering of the operator's awareness of        objects 124 in the collision detection environment 100.    -   An angular divergence of the focus direction 130 relative to the        direction of movement 128 of the vehicle 108. The higher the        divergence, the lower the collision awareness factor may be.    -   The number and distribution of the objects 124 in the monitoring        area 132. The more objects 124 there are in the monitoring area,        and the more densely distributed they are, the lower the        collision awareness factor may be.    -   The velocity of the objects 124 in the monitoring area 132. For        each object 124 detected in the monitoring area 132, its        velocity may influence the collision awareness factor: the        higher the velocity, the lower the collision awareness factor.        The collision awareness factor may also be based on an average        velocity of all the objects 124 detected in the monitoring area        132.    -   The size and shape of the objects 124 in the monitoring area        132. The smaller the objects 124, the lower the collision        awareness factor may be.    -   The position and proximity of the objects 124 in the monitoring        area 132 to the vehicle 108. Objects in the peripheral areas of        the monitoring area 132 may lower the collision awareness        factor. Where an average distance of the objects 124 detected        within the monitoring area, relative to the vehicle 108, is less        than a threshold value, the collision awareness factor may be        decreased.    -   Weather conditions in the collision detection environment 100.        For example, the warning system may detect humidity levels in        the collision detection environment 100 using a humidity sensor,        or receive humidity information from an external device in        communication with the warning system 116. The warning system        116 may decrease the collision awareness factor as humidity        increases.    -   Light conditions in the collision detection environment 100. The        less light available, the lower the collision awareness factor        may be. For example, the collision awareness factor may be        adjusted, based on the time, or based on a measurement of light        by an optical sensor, in the collision detection environment        100.

In a related embodiment, the same dynamic factors that dynamicallydefine the warning zone 120, based on a collision awareness factor, mayalso dynamically define the monitoring area 132. This may be desirablewhere, for example, an increased collision awareness factor reduces aneed for scanning a relatively large monitoring area 132. This mayconserve computing resources of the warning system 116, such that, forexample, it generates more detailed information about objects 124 in arelatively narrow monitoring area 132, compared to information it cangenerate for objects 124 in a relatively wide monitoring area 132.

FIG. 1B is a schematic diagram of the collision detection environment100 in which the orientation device 112 of the vehicle 108 is orientedtoward a focus direction 130 different from the direction of movement128 of the vehicle 108, according to an aspect of the presentdisclosure. The warning system 116 may receive information about thefocus direction 130 from the orientation device 112 by, for example,receiving a Bluetooth signal transmitted by the orientation device 112using a Bluetooth receiver (not shown) of the warning system 116. Thewarning system 116 may compare the focus direction 130 with thedirection of movement 128 and determine if there is a divergence betweenthe two. The warning system 116 may also determine whether thedivergence is greater than a threshold value, for example, 30 degrees.In response to making this determination, the warning system 116 mayexpand the warning zone from a first portion 120A corresponding theoriginal warning zone area 120, to a second portion 120B correspondingto the expanded portion of the warning zone 120. In addition toexpanding the warning zone 120 to include both the first portion 120Aand the second portion 120B, the warning system 116 may optionallychange the position of the warning zone 120 to correspond to the focusdirection 130. This may be desirable because a change in the focusdirection 130 may be indicative of the operator's intention to steer thevehicle 108 in that direction. It may be desirable to move the warningzone 120 towards the focus direction 130 so that objects 124 in themoved warning zone 120 may be detected and corresponding warning signalsgenerated, as necessary.

Expanding the warning zone 120 in this manner may be desirable becauseit may allow objects 124 (e.g., object 124B) that are farther ahead ofthe vehicle 108 and less likely to be noticed by its operator to enterthe warning zone 120. This may cause the warning system 116 to generatea corresponding warning signal that would not be generated if the sizeof the warning zone 120 were not dynamically defined by embodiments ofthe present disclosure.

Changing the position of the warning zone 120 as depicted in FIG. 1B maybe desirable because the divergence between the focus direction 130 andthe direction of movement 128 may indicate, in some circumstances, thatthe operator of the vehicle 108 intends to move in the direction of thefocus direction 130. This may be the case, for example, where abicyclist wishes to make a left turn rather than to continue along thepath 104. The warning system 116 would therefore reshape the warningzone 130 to generate warnings for objects 124 that pose a relativelyhigher risk of collision with the vehicle 108 based on the estimation bythe warning system 116 that the vehicle 108 is making a turn.

In the embodiment depicted in FIG. 1B, both the object 124A and theobject 124B fall within the expanded warning zone 120. The object 124Bfalls within the second portion 120B of the warning zone 120, and itsdetection by the warning system 116 causes the warning system togenerate a corresponding warning signal. This is in contrast to theexample illustrated in FIG. 1A, wherein the warning zone 120 is smaller:the object 124B falls outside of the smaller warning zone 120 shown inFIG. 1A, and does not trigger a warning communication.

FIG. 2 is a schematic block diagram showing exemplary components of thewarning system 116 of the vehicle 108, according to an aspect of thepresent disclosure. The warning system 116 may be affixed to the vehicle108 or to the operator of the vehicle 108, and, as described above, maymonitor a monitoring area 132 including a warning zone 120 in thedirection of movement 128 of the vehicle 108, which may be the same as adirection of the path 104.

The warning system 116 may include a profile measurement unit 224 thatscans, or otherwise monitors the monitoring area 132 and the warningzone 120 for objects 124 that enter the monitoring area and the warningzone. The profile measurement unit 224 may perform one or more readingsor scans of the monitoring area 132 to generate a profile of themonitoring area, for example, a depth profile in the direction ofmovement 128. The profile generated by the profile measurement unit 224may identify spatial properties of the objects 124 in the monitoringarea 132. Spatial properties of an object 124 in the monitoring area 132may include, for examples, the object's 124 position, size, proximity tothe vehicle 108, velocity relative to the vehicle 108, and velocityrelative to an object other than the vehicle 108. Spatial properties ofan object 124 are among the dynamic factors described above in relationto FIG. 1A that may be used by the warning system 116 to dynamicallydefine and modify the size and shape of the warning zone 120 within themonitoring area 132.

The profile measurement unit 224 may be, for example, a Laser ProfileMeasurement Sensor, a LIDAR sensor, or any other profile measurementdevice known in the art, in accordance with embodiments of the presentdisclosure.

One or more profiles generated by the profile measurement unit 224 maybe used by other components of the warning system 116, as describedbelow, to initiate a desired responsive action, which may include, forexample, generating a warning signal for transmission to othercomponents of the warning system 116 or to another system.

The warning system 116 may also include a direction sensor 228 to detectthe direction of movement 128 of the vehicle 108. The direction ofmovement 128 may be used by other components of the warning system 116.In one embodiment, the direction of movement 128 may be used to predict,for example, the path 104 that the vehicle 108 is travelling on. Achange in the direction of movement 128 as determined by the directionsensor 228 may be used to adjust the collision awareness factor thatdetermines the size and shape of the warning zone 120 of the monitoringarea 132. The direction sensor 228 may be an electronic compassincluding, for example, a magnetometer. The magnetometer may be coupledwith roll and pitch data from an accelerometer of the direction sensor228 to determine additional direction/orientation details.

The warning system 116 may also include a velocity sensor 232 to detectthe velocity of the vehicle 108. The warning system 116 may use thevelocity information of the vehicle 108. For example, the velocityinformation may be used to determine the size, shape, and position ofthe warning zone 120 within the monitoring area 120. The velocity sensor232 may also communicate velocity information of the vehicle 108 toother components of the warning system 116 for use in collisiondetection, including, for example, for determining whether the vehicle108 faces a risk of collision with an object 124, and/or for adjustingthe boundaries of the monitoring area 132 and the warning zone 120.

The warning system 116 may also include a computing system 208 thatincludes one or more processors and tangible storage devices, forexample, processor(s) 820 and tangible storage device(s) 830 (FIG. 4).The computing system 208 may be in communication with other componentsof the warning system 116, including those described above, such as theprofile measurement unit 224, the direction sensor 228, and the velocitysensor 232. A computer program 212 may be embodied on the tangiblestorage device of the computing system 208. The computer program 212 mayhave one or more modules including, for example, a profile processingmodule 220 and a filtering module 216. Modules of the computer program212 may perform a variety of functions including, without limitation,generate warning communications to components of the warning system 116,the vehicle 108, and/or to the operator of the vehicle 108, and/or toinitiate a responsive action such as maneuvering to avoid an object 124that has a high risk of colliding with the vehicle 108.

The profile processing module 220 of the computer program 212 mayreceive and analyze the profiles generated by the profile measurementunit 224 of the warning system 116 to determine the location, velocity,and trajectory of movement of an object 124 that is within themonitoring area 132. The profile processing module 220 may additionallydetermine whether the object 124 is within the warning zone 120 of themonitoring area 132, or whether the object's 124 trajectory, based onits velocity and direction of movement, will cause the object to enterthe warning zone 120. For any object 124 in the warning zone 120, or anyobject 124 whose trajectory may cause the object to enter the warningzone 120, the profile processing module 220 may generate a warningsignal which is transmitted to the filtering module 216.

The filtering module 216 of the computer program 212 may analyze datafrom the profile measurement unit 224, the direction sensor 228, thevelocity sensor 232, and other modules of the computer program 212 todetermine the collision awareness factor, which may be used to determinethe shapes and size of the warning zone 120, and to filter warningsignals that may be generated by the profile processing module 220 ofthe program 212.

In one embodiment of the present disclosure, the filtering module 216may determine the collision awareness factor by determining a divergencebetween the direction of movement 128 of the vehicle 108, and the focusdirection 130 of the orientation device 112, whereby the latter mayindicate the direction in which an operator of the vehicle 108 islooking. The filtering module 216 may determine whether the divergenceis greater than a threshold value. The divergence may be measured, forexample, as an angular difference between the direction of movement 128and the focus direction 130. The threshold value may be, for example, 45degrees. This divergence may indicate, for example, that certainobstacles 124 within the monitoring area 132 may only be within theoperator's peripheral vision. If so, the filtering module 216 maydetermine that the collision awareness factor may be low. In a relatedembodiment, each degree of divergence may correspond to a proportionaldecrease in the collision awareness factor. For example, a 90-degreedivergence may indicate a 50% awareness factor. Other scales thatquantify the collision awareness factor as a function of the divergenceangle are possible.

In another embodiment, the filtering module 216 may determine thecollision awareness factor by determining whether one or more objects124 in the monitoring area 132 or in the warning zone 120 are stationaryor moving. Whether the objects 124 are stationary or may be determinedby, for example, their velocity relative to another object, or relativeto another point of reference in the collision detection environment100. The warning system 116 may determine this information using, forexample, the profile measurement unit 224 and analyzing changes in itsprofile readings over time. In one embodiment, the more objects 124whose velocities are above a threshold value, the lower the collisionawareness factor may be. This may indicate, for example, that it isrelatively more difficult for the operator of the vehicle 108 tomaintain an awareness of the objects 124, because the velocities of theobjects 124 relative to the vehicle 108 are too high. In a relatedembodiment, the filtering module 216 may apply an adjustment to thecollision awareness factor based on the velocity of each object 124,such that increased velocities of objects 124 in the monitoring area132, or in the warning zone 120, as determined/detected by the profilemeasurement unit 224 and the profile processing module 220, result inlowering of the collision awareness factor.

In another embodiment, the filtering module 216 may determine thecollision awareness factor by determining the number of objects 124detected by the profile measurement unit 224. The higher the number ofobjects 124, the lower the collision awareness factor may be, and viceversa.

In another embodiment, the filtering module 216 may determine thecollision awareness factor by determining the size of a detected object124. For example, the larger the object 124, the higher the collisionawareness factor may be. The collision awareness factor may also bedetermined based on an average size of all the objects 124 detected inthe monitoring area 132 and/or in the warning zone 120. In a relatedembodiment, this average may be only for moving objects 124.

In another embodiment, the filtering module 216 may determine thecollision awareness factor based on two or more factors. For example,the filtering module 216 may determine that an object 214 having a sizethat exceeds a threshold value is in the warning zone 120 of themonitoring area 132. Although the filtering module 216 may increase thecollision awareness factor based on the size of an object 124, on theassumption that larger objects 124 are easier for the operator of thevehicle 108 to see, and require less warning, it may be the case thatthe orientation device 112 indicates that the focus area 130 divergesfrom the direction of movement 128 by a number of degrees exceeding athreshold value. In the case of a bicycle, for example, this may bebecause the helmet to which the orientation device 112 is attached isturned away from the direction of movement 128. This in turn mayindicate that the bicyclist is looking away from the direction ofmovement 128. In such circumstances, one consideration may be given moreweight than another, such that the filtering module 216 may lower thecollision awareness factor. This may be desirable where, for example,although a large object 124 is relatively easier to see, a distractedoperator faces a greater risk of collision or risk of greater damagethat may result from a collision.

The collision awareness factor may be based on a real number in therange of 0-1 or a percentage from 0-100%, wherein 0 may indicate aminimum awareness of the object 124, and 1 or 100% may indicate amaximum awareness of the object 124. Based on the value of the collisionawareness factor falling above or below a threshold value or a thresholdrange value, the filtering module 216 may allow or filter out a warningmessage/signal.

Changes in the collision awareness factor may dynamically affect theconfiguration of the warning zone 120 including, for example, its sizeand shape. For example, as the collision awareness factor decreases, thewarning zone may be enlarged to encompass a greater proportion of themonitoring area 132. As the collision awareness factor increases, on theother hand, the warning zone 120 may be contracted. This may bedesirable because the risk of collision may not be the only factorrelevant in determining whether a warning signal should be generated. Insome circumstances, it may be desirable not to generate a warning atall. For example, if the collision detection environment 100 includesmany obstacles, it may be possible that generating too many warningsitself may distract an operator of the vehicle 108 from concentrating onthe path 108.

FIG. 3 is a flowchart of steps of the computer program 212 of thewarning system 116 shown in FIGS. 1A-2, according to an aspect of thepresent disclosure. The depicted steps of the program 212 correspond tofunctionality of the program 212 that may be implemented using one ormore computer program modules, such as the filtering module and theprofile processing module described above, in connection with FIG. 2.

In step 304, the program 212 may detect an object in a monitoring areaof a profile measurement unit of a warning system. For example, in oneembodiment, an object 124 may be detected in the monitoring area 132 bythe profile measurement unit 224 of the warning system 116, as depictedin FIGS. 1A-B. The monitoring area 132 may be defined by the warningsystem 116, including by its profile measurement unit 224 using, forexample, LIDAR technology. As the profile measurement unit 224 monitorsthe monitoring area 132, the program 212 may receive the correspondingprofile data, which includes measurements corresponding to spatialproperties of the objects 124 in the collision detection environment100, and analyze it using the profile processing module 220 to detectand identify objects 124 in the monitoring area 132. In step 304, theprogram 212 may additionally analyze the profile information todetermine spatial properties of the objects 124 including, for example,size, shape, number, density, proximity, velocity, direction ofmovement, and other information about the objects 124. Such informationmay be used to define, in other steps, the size, shape, and position ofthe monitoring area 132, and the size, shape, and position of thewarning zone 120 within the monitoring area 132.

In step 308, the program 212 may determine a collision awareness factorby analyzing the spatial properties of objects 124 detected in themonitoring area 132 in step 304. Determination of the collisionawareness factor by the program 212 may be based on one or more staticor dynamic factors, or a combination thereof.

Static factors that affect the determination of the collision awarenessfactor may include, for example, the type of vehicle 108 to which thewarning system 116 is attached. This factor is static because it doesnot change over time while the warning system 116 is used in conjunctionwith the vehicle 108. Static factors may be defined, for example, in aconfiguration file stored on a tangible storage device of the computersystem 208 on the processor of which the program 212 is executed. Theconfiguration file may include, for example, predetermined size andshape settings for the monitoring area 132. The program 212 maycommunicate these settings to the profile measurement unit 224 such thatthe profile measurement unit 224 monitors an area according to thesettings. For example, settings for the monitoring area 132 where thewarning system 116 is used in a car may indicate a larger area comparedto that of a bicycle.

Dynamic factors that affect the determination of the collision awarenessfactor may include factors that change over time. Dynamic factors may bedetermined by the program 212 using components of the warning system 116or information received by the warning system 116 from another source.The may be, for example: the speed of the vehicle 108 determined by thevelocity sensor 232; the direction of movement 128 of the vehicle 108determined by the direction sensor 228; spatial properties of theobjects 124 in the collision detection environment 100 as indicated byprofile measurements of the profile measurement unit 224; the focusdirection 130 as received by the warning system 116 from the orientationdevice 112. Each of these dynamic factors may have a correspondingeffect on the collision awareness factor.

In one embodiment, the program 212 may access a configuration table thatdefines the relationship between changes in a dynamic factor and thecollision awareness factor. For example, the configuration table fordynamic factors may be Table 1, below, wherein increasing ranges ofspeed of the vehicle 108 are associated with corresponding decreases inthe collision awareness factor relative to a starting value of thecollision awareness factor:

TABLE 1 Change In Speed & Collision Awareness Factor Collision AwarenessFactor Speed (relative to a starting value) 0-30 mph −10% 31-50 mph −30%50-70 mph −40% 70+ mph −60%

In the example shown in Table 1, as the warning system 116 detects anincrease in the vehicle's 108 speed, the program 212 reduces thecollision awareness factor by a predetermined proportion of a startingvalue of the collision awareness factor. For example, the starting valueof the collision awareness factor may be 100% (indicating a strongawareness). In another example, the starting value of the collisionawareness factor may be 80% based on another factor, dynamic or static,influencing the starting value. For example, the starting value may beat 80% based on the profile measurement unit 224 detecting that a numberof objects 124 higher than a threshold value have (e.g., 3 objects 124),detected in the monitoring area 132, are larger than a threshold size(e.g., 2×2 feet). The 80% starting value may be based on a correspondingtable that associates numbers of objects 124 detected in the monitoringarea 132 with corresponding changes in the collision awareness factor.

Based on the collision awareness factor defined in step 308, the program212 may define, in step 312, the shape, size, and other properties ofthe warning zone 120. This may be done, in one embodiment, byassociating ranges in the collision awareness factor with correspondingsize settings, as shown, for example, in Table 2:

TABLE 2 Collision Awareness Factor & Size of Warning Zone 120 CollisionAwareness Size of warning zone 120 relative Factor to size of themonitoring area 132 80-100%  2% 60-80% 5% 50-60% 10%  <50% 20%

In a related embodiment, the program 212 may, in step 312, also adjustthe size, shape, and other properties of the monitoring area 132 basedon changes in the collision awareness factor. For example, whendetermining a relatively low collision awareness factor, the program 212may cause the profile measurement unit 224 to monitor a largermonitoring area 132, or perform the monitoring at a higher resolution.

In step 316, the program 212 may determine whether an object 124, whichmay be detected in the monitoring area 132 in step 304, is also withinthe warning zone 120 that is defined in step 312, and whether acorresponding warning signal should be generated by the program 212.Generally, a warning signal may be generated for any object 124 detectedin the warning zone 120 of which the program 212 estimates the operatorof the vehicle 108 to be unaware. The program 212 determines whether awarning signal should be generated based on determinations of thecollision awareness factor in step 308, and detection of objects 124 inthe warning zone 120, made in step 316.

The program 212 may perform step 316 by analyzing the profilemeasurements made by the profile measurement unit 224 and analyzed bythe profile processing module 220. The program 212 may filter theresults of this analysis using the filtering module 216. The filteringmodule 216 may filter the results of the analysis relation to a set ofwarning criteria to determine whether a corresponding warning signalshould be generated.

The warning criteria may be based on a desired configuration. Forexample, such a configuration may be based on spatial properties of theobjects 124 detected in the warning zone 120. The corresponding criteriamay be, for example, as follows: if an object is smaller in sizerelative to a threshold size value, the filtering module 216 maydetermine that no corresponding warning signal should be generated. Onthe other hand, for any object 124 whose size is larger than thethreshold value, the filtering module 216 may determine that acorresponding warning signal should be generated.

As a further example, the criteria may be: if an object is smaller insize relative to a threshold size value, whereby the filtering module216 may ordinarily determine that no corresponding warning signal shouldbe generated, a warning signal should be generated nevertheless if theprogram 212 determines, in communication with the orientation device112, that the focus direction 130 diverges from the direction ofmovement of the vehicle 108 by more than a threshold value (e.g., 30degrees).

In step 320, the program 212 may generate one or more warning signalscorresponding to any object 124 for which the filtering module 220determines, in step 316, that a warning signal should be generated. Forany object 124 detected in the warning zone 120 for which the program212 determines a warning signal should be generated, the program 212 maygenerate the warning signal and communicate it to a warning device 240of the warning system 116, or to a receiving device. The receivingdevice may be, for example, another device in the vehicle 108, such as adigital display or an audio output source that can receive a signaltransmitted by the warning system 116. For example, the program 212 maycause the warning system 116 to transmit a Bluetooth signal to thereceiving device.

Referring now to FIG. 4, a computing device 1000 may include respectivesets of internal components 800 and external components 900. Thecomputing device 1000 may be or may include, for example, the warningsystem 116 (FIGS. 1A-2) and/or the orientation device 112 (FIGS. 1A-B)and/or one of their internal components. Each of the sets of internalcomponents 800 includes one or more processors 820; one or morecomputer-readable RAMs 822; one or more computer-readable ROMs 824 onone or more buses 826; one or more operating systems 828; one or moresoftware applications 828 a (e.g., device driver modules) executing theprogram 212 (FIGS. 2-3); and one or more computer-readable tangiblestorage devices 830. The one or more operating systems 828 and devicedriver modules 829 are stored on one or more of the respectivecomputer-readable tangible storage devices 830 for execution by one ormore of the respective processors 820 via one or more of the respectiveRAMs 822 (which typically include cache memory). In the embodimentillustrated in FIG. 4, each of the computer-readable tangible storagedevices 830 is a magnetic disk storage device of an internal hard drive.Alternatively, each of the computer-readable tangible storage devices830 is a semiconductor storage device such as ROM 824, EPROM, flashmemory or any other computer-readable tangible storage device that canstore a computer program and digital information.

Each set of internal components 800 also includes a R/W drive orinterface 832 to read from and write to one or more computer-readabletangible storage devices 936 such as a thin provisioning storage device,CD-ROM, DVD, SSD, memory stick, magnetic tape, magnetic disk, opticaldisk or semiconductor storage device. The R/W drive or interface 832 maybe used to load the device driver 840 firmware, software, or microcodeto tangible storage device 936 to facilitate communication withcomponents of computing device 1000.

Each set of internal components 800 may also include network adapters(or switch port cards) or interfaces 836 such as a TCP/IP adapter cards,wireless WI-FI interface cards, or 3G or 4G wireless interface cards orother wired or wireless communication links. The operating system 828that is associated with computing device 1000, can be downloaded tocomputing device 1000 from an external computer (e.g., server) via anetwork (for example, the Internet, a local area network or wide areanetwork) and respective network adapters or interfaces 836. From thenetwork adapters (or switch port adapters) or interfaces 836 andoperating system 828 associated with computing device 1000 are loadedinto the respective hard drive 830 and network adapter 836. The networkmay comprise copper wires, optical fibers, wireless transmission,routers, firewalls, switches, gateway computers and/or edge servers.

Each of the sets of external components 900 can include a computerdisplay monitor 920, a keyboard 930, and a computer mouse 934. Externalcomponents 900 can also include touch screens, virtual keyboards, touchpads, pointing devices, and other human interface devices. Each of thesets of internal components 800 also includes device drivers 840 tointerface to computer display monitor 920, keyboard 930 and computermouse 934. The device drivers 840, R/W drive or interface 832 andnetwork adapter or interface 836 comprise hardware and software (storedin storage device 830 and/or ROM 824).

Referring now to FIG. 5, an illustrative cloud computing environment 400is depicted. As shown, the cloud computing environment 400 comprises oneor more cloud computing nodes, each of which may be a computing system1000 (FIG. 4) with which local computing devices used by cloudconsumers, such as, for example, a personal digital assistant (PDA) or acellular telephone 400A, a desktop computer 400B, a laptop computer400C, and/or an automobile computer system 400N, may communicate. Thenodes 1000 may communicate with one another. They may be grouped (notshown) physically or virtually, in one or more networks, such asPrivate, Community, Public, or Hybrid clouds as described hereinabove,or a combination thereof. This allows the cloud computing environment400 to offer infrastructure, platforms and/or software as services forwhich a cloud consumer does not need to maintain resources on a localcomputing device. It is understood that the types of computing devices400A-N shown in FIG. 4 are intended to be illustrative only and that thecomputing nodes 1000 and the cloud computing environment 400 cancommunicate with any type of computerized device over any type ofnetwork and/or network addressable connection (e.g., using a webbrowser).

Referring now to FIG. 6, a set of functional abstraction layers providedby the cloud computing environment 400 (FIG. 5) is shown. It should beunderstood in advance that the components, layers, and functions shownin FIG. 6 are intended to be illustrative only and embodiments of theinvention are not limited thereto. As depicted, the following layers andcorresponding functions are provided.

The hardware and software layer 510 includes hardware and softwarecomponents. Examples of hardware components include mainframes, in oneexample IBM® zSeries® systems; RISC (Reduced Instruction Set Computer)architecture based servers, in one example IBM pSeries® systems; IBMxSeries® systems; IBM BladeCenter® systems; storage devices; networksand networking components. Examples of software components includenetwork application server software, in one example IBM WebSphere®application server software; and database software, in one example IBMDB2® database software. (IBM, zSeries, pSeries, xSeries, BladeCenter,WebSphere, and DB2 are trademarks of International Business MachinesCorporation registered in many jurisdictions worldwide).

The virtualization layer 514 provides an abstraction layer from whichthe following examples of virtual entities may be provided: virtualservers; virtual storage; virtual networks, including virtual privatenetworks; virtual applications and operating systems; and virtualclients.

In one example, the management layer 518 may provide the functionsdescribed below. Resource provisioning provides dynamic procurement ofcomputing resources and other resources that are utilized to performtasks within the cloud computing environment. Metering and Pricingprovide cost tracking as resources are utilized within the cloudcomputing environment, and billing or invoicing for consumption of theseresources. In one example, these resources may comprise applicationsoftware licenses. Security provides identity verification for cloudconsumers and tasks, as well as protection for data and other resources.User portal provides access to the cloud computing environment forconsumers and system administrators. Service level management providescloud computing resource allocation and management such that requiredservice levels are met. Service Level Agreement (SLA) planning andfulfillment provide pre-arrangement for, and procurement of, cloudcomputing resources for which a future requirement is anticipated inaccordance with an SLA.

The workloads layer 522 provides examples of functionality for which thecloud computing environment may be utilized. Examples of workloads andfunctions which may be provided from this layer include: mapping andnavigation; software development and lifecycle management; virtualclassroom education delivery; data analytics processing; transactionprocessing; and collision warning systems such as the warning system 116(FIGS. 1A-3).

While the present invention is particularly shown and described withrespect to preferred embodiments thereof, it will be understood by thoseskilled in the art that changes in forms and details may be made withoutdeparting from the spirit and scope of the present application. It istherefore intended that the present invention not be limited to theexact forms and details described and illustrated herein, but fallswithin the scope of the appended claims.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, method or computer programproduct. Accordingly, aspects of the present invention may take the formof an entirely hardware embodiment, an entirely software embodiment(including firmware, resident software, micro-code, etc.) or anembodiment combining software and hardware aspects that may allgenerally be referred to herein as a “module” or “system.” Furthermore,aspects of the present invention may take the form of a computer programproduct embodied in one or more computer readable medium(s) havingcomputer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

While steps of the disclosed method and components of the disclosedsystems and environments have been sequentially or serially identifiedusing numbers and letters, such numbering or lettering is not anindication that such steps must be performed in the order recited, andis merely provided to facilitate clear referencing of the method'ssteps. Furthermore, steps of the method may be performed in parallel toperform their described functionality.

What is claimed is:
 1. A computer implemented method for generating acollision warning, the method comprising: defining, by a computer, amonitoring area monitored by a warning device attached to a firstobject, wherein the monitoring area moves with the warning device;detecting, by the computer, a second object in the monitoring area;determining, by the computer, a change in a collision awareness factorin relation to the monitoring area, the collision awareness factorcorresponding to an estimated awareness level of an operator of thefirst object of a likelihood of collision with the second object,wherein determining the collision awareness factor is based on a type ofvehicle of the first object, a maneuverability of the first object, atype of one or more objects expected to be encountered by the firstobject, a direction of movement of the first object, a velocity of thefirst object, an angular divergence of a focus direction relative to amovement direction of the first object, a number and a distribution ofone or more objects within the monitoring area, a velocity of one ormore objects within the monitoring area, a size and a shape of one ormore objects within the monitoring area, a position and a proximity ofone or more objects within the monitoring area, a current weathercondition in the monitoring area, a light condition in the monitoringarea, a time of day and a level of humidity in the environment of thefirst object and is used to adjust a shape and a size of a warning zone;defining, by the computer, the warning zone in relation to themonitoring area based on the collision awareness factor; and generating,by the computer, a warning based on at least the second object beingwithin the warning zone, and the change in the collision awarenessfactor.
 2. The method of claim 1, further comprising: detecting, by thecomputer, the second object in the monitoring area, wherein thedetecting comprises detecting one or more of: a size of the secondobject, a shape of the second object, and a position of the secondobject relative to a direction of movement of the first object; andwherein determining the collision awareness factor comprises determiningthe collision awareness factor based at least on one or more of: thesize of the second object, the shape of the second object, and theposition of the second object relative to the direction of movement ofthe first object.
 3. The method of claim 1, further comprising:detecting, by the computer, two or more second objects in the monitoringarea, wherein the detecting is based on detecting a number of secondobjects detected in the warning area, a size of each of the secondobjects, a shape of each of the second objects, a velocity of each ofthe second objects relative to the warning device, and an averagevelocity of all of the second objects.
 4. The method of claim 1, furthercomprising: detecting a direction of movement of the first object;detecting an orientation direction of a third object using a gyroscopecoupled with an accelerometer; determining a divergence between thedirection of movement of the first object and the orientation directionof the third object; and wherein determining the collision awarenessfactor comprises determining the collision awareness factor based atleast on the determined divergence.
 5. The method of claim 1, whereindetermining a collision awareness factor comprises: determining thecollision awareness factor based on detecting any one or more of: aresponsive action relative to the second objects; a first change in adirection of movement of the first object, wherein the first change ishigher than a first threshold value; and a second change in a velocityof the first object, wherein the second change is higher than athreshold value.
 6. The method of claim 1, further comprising: modifyingthe defined monitoring area based on the collision awareness factor. 7.A computer system for generating a collision warning, the systemcomprising: a computer device having a processor and a tangible storagedevice, wherein the computer is attached to a first object; and aprogram embodied on the storage device for execution by the processor,the program having a plurality of program modules, the program modulesincluding: a first defining module configured to define a monitoringarea monitored by the computer device, wherein the monitoring area moveswith the computer device; a first detecting module configured to detecta second object in the monitoring area; a first determining moduleconfigured to determine a change in a collision awareness factor inrelation to the monitoring area, the collision awareness factorcorresponding to an estimated awareness level of an operator of thefirst object of a likelihood of collision with the second object,wherein determining the collision awareness factor is based on a type ofvehicle of the first object, a maneuverability of the first object, atype of one or more objects expected to be encountered by the firstobject, a direction of movement of the first object, a velocity of thefirst object, an angular divergence of a focus direction relative to amovement direction of the first object, a number and a distribution ofone or more objects within the monitoring area, a velocity of one ormore objects within the monitoring area, a size and a shape of one ormore objects within the monitoring area, a position and a proximity ofone or more objects within the monitoring area, a current weathercondition in the monitoring area, a light condition in the monitoringarea, a time of day and a level of humidity in the environment of thefirst object and is used to adjust a shape and a size of a warning zone;a second defining module configured to define a warning zone in relationto the monitoring area based on the collision awareness factor; and agenerating module configured to generate a warning based on detecting atleast the second object being within the warning zone, and the collisionawareness factor.
 8. The computer system of claim 7, wherein: the firstdetecting module is further configured to detect one or more of: a sizeof the second object, a shape of the second object, and a position ofthe second object relative to a direction of movement of the firstobject; and the first determining module is configured to determine thecollision awareness factor based at least on one or more of: the size ofthe second object, the shape of the second object, and the position ofthe second object relative to the direction of movement of the firstobject.
 9. The computer system of claim 7, wherein: the first detectingmodule is further configured to detect two or more second objects in themonitoring area, wherein the detecting is based on detecting a number ofsecond objects detected in the warning area, a size of each of thesecond objects, a shape of each of the second objects, a velocity ofeach of the second objects relative to the warning device, and anaverage velocity of all of the second objects.
 10. The computer systemof claim 7, wherein: the program modules further include: a seconddetecting module configured to detect a direction of movement of thefirst object, and to detect an orientation direction of a third objectusing a gyroscope coupled with an accelerometer; and a seconddetermining module configured to determine a divergence between thedirection of movement of the first object and the orientation directionof the third object; and the first determining module is furtherconfigured to determine the collision awareness factor based at least onthe determined divergence.
 11. The computer system of claim 7, whereinthe first determining module is further configured to determine thecollision awareness factor based on detecting any one or more of: aresponsive action relative to the second objects; a first change in adirection of movement of the first object, wherein the first change ishigher than a first threshold value; and a second change in a velocityof the first object, wherein the second change is higher than athreshold value.
 12. The computer system of claim 7, wherein the programmodules further include: a modifying module configured to modify themonitoring area based on the collision awareness factor.
 13. A computerprogram product for generating a collision warning, comprising atangible storage device having program code embodied therewith, theprogram code executable by a processor of a computer to perform a methodcomprising: defining, by the processor, a monitoring area monitoring bya warning device attached to a first object, wherein the monitoring areamoves with the warning device; detecting, by the processor, a secondobject in the monitoring area; determining, by the processor, a changein a collision awareness factor in relation to the monitoring area, thecollision awareness factor corresponding to an estimated awareness levelof an operator of the first object of a likelihood of collision with thesecond object, wherein determining the collision awareness factor isbased on a type of vehicle of the first object, a maneuverability of thefirst object, a type of one or more objects expected to be encounteredby the first object, a direction of movement of the first object, avelocity of the first object, an angular divergence of a focus directionrelative to a movement direction of the first object, a number and adistribution of one or more objects within the monitoring area, avelocity of one or more objects within the monitoring area, a size and ashape of one or more objects within the monitoring area, a position anda proximity of one or more objects within the monitoring area, a currentweather condition in the monitoring area, a light condition in themonitoring area, a time of day and a level of humidity in theenvironment of the first object and is used to adjust a shape and a sizeof a warning zone; defining, by the processor, a warning zone inrelation to the monitoring area based on the collision awareness factor;and generating, by the processor, a warning based on at least the secondobject being within the warning zone, and the collision awarenessfactor.
 14. The computer program product of claim 13, wherein the methodfurther comprises: detecting, by the processor, the second object in themonitoring area, wherein the detecting comprises detecting one or moreof: a size of the second object, a shape of the second object, and aposition of the second object relative to a direction of movement of thefirst object; and wherein determining the collision awareness factorcomprises determining the collision awareness factor, by the processor,based at least on one or more of: the size of the second object, theshape of the second object, and the position of the second objectrelative to the direction of movement of the first object.
 15. Thecomputer program product of claim 13, wherein the method furthercomprises: detecting, by the processor, two or more second objects inthe monitoring area, wherein the detecting is based on detecting anumber of second objects detected in the warning area, a size of each ofthe second objects, a shape of each of the second objects, a velocity ofeach of the second objects relative to the warning device, and anaverage velocity of all of the second objects.
 16. The computer programproduct of claim 13, wherein the method further comprises: detecting, bythe processor, a direction of movement of the first object; detecting,by the processor, an orientation direction of a third object using agyroscope coupled with an accelerometer; determining, by the processor,a divergence between the direction of movement of the first object andthe orientation direction of the third object; and wherein determiningthe collision awareness factor comprises determining the collisionawareness factor, by the processor, based at least on the determineddivergence.
 17. The computer program product of claim 13, wherein themethod further comprises: determining the collision awareness factor, bythe processor, based on detecting any one or more of: a responsiveaction relative to the second objects; a first change in a direction ofmovement of the first object, wherein the first change is higher than afirst threshold value; and a second change in a velocity of the firstobject, wherein the second change is higher than a threshold value.